//app.js


var gio = require("utils/gio-minp.js").default;
// version 是你的小程序的版本号, 发版时请调整
gio('init', 'a730648419a8a268', 'wx9c64a6cb01fcaefd', { version: '1.0' });

App({
  onLaunch: function () {

    // 展示本地存储能力
    // var logs = wx.getStorageSync('logs') || []
    // logs.unshift(Date.now())
    // wx.setStorageSync('logs', logs)

    // // 登录
    // wx.login({
    //   success: res => {
    //     // 发送 res.code 到后台换取 openId, sessionKey, unionId
    //   }
    // })
    // // 获取用户信息
    // wx.getSetting({
    //   success: res => {
    //     if (res.authSetting['scope.userInfo']) {
    //       // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
    //       wx.getUserInfo({
    //         success: res => {
    //           // 可以将 res 发送给后台解码出 unionId
    //           this.globalData.userInfo = res.userInfo

    //           // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
    //           // 所以此处加入 callback 以防止这种情况
    //           if (this.userInfoReadyCallback) {
    //             this.userInfoReadyCallback(res)
    //           }
    //         }
    //       })
    //     }
    //   }
    // })
    //用户登陆
    function userLogin() {
      wx.checkSession({
        success: function () {
          //存在登陆态
        },
        fail: function () {
          //不存在登陆态
          onLogin()
        }
      })
    }

    function onLogin() {
      wx.login({
        success: function (res) {
          if (res.code) {
            //发起网络请求
            wx.request({
              url: 'Our Server ApiUrl',
              data: {
                code: res.code
              },
              success: function (res) {
                const self = this
                if (逻辑成功) {
                  //获取到用户凭证 存儲 3rd_session 
                  var json = JSON.parse(res.data.Data)
                  wx.setStorage({
                    key: "third_Session",
                    data: json.third_Session
                  })
                  getUserInfo()
                }
                else {

                }
              },
              fail: function (res) {

              }
            })
          }
        },
        fail: function (res) {

        }
      })

    }

    function getUserInfo() {
      wx.getUserInfo({
        success: function (res) {
          var userInfo = res.userInfo
          userInfoSetInSQL(userInfo)
        },
        fail: function () {
          userAccess()
        }
      })
    }

    function userInfoSetInSQL(userInfo) {
      wx.getStorage({
        key: 'third_Session',
        success: function (res) {
          wx.request({
            url: 'Our Server ApiUrl',
            data: {
              third_Session: res.data,
              nickName: userInfo.nickName,
              avatarUrl: userInfo.avatarUrl,
              gender: userInfo.gender,
              province: userInfo.province,
              city: userInfo.city,
              country: userInfo.country
            },
            success: function (res) {
              if (逻辑成功) {
                //SQL更新用户数据成功
              }
              else {
                //SQL更新用户数据失败
              }
            }
          })
        }
      })
    }

  },
  globalData: {
    userInfo: null,
    token:'',
    openId:'',
    userNmae:'',
    avatarUrl:''
  }
})